Refactor CI workflows#37487
Conversation
236bd02 to
64df715
Compare
832fea8 to
f3c9eac
Compare
There was a problem hiding this comment.
Pull request overview
Refactors CI workflow configuration to reduce duplication, consolidate linting, and avoid slow/low-signal CI runs (notably QEMU Docker dryruns), while expanding the “lint all” Makefile target to cover more lint types.
Changes:
- Expand
make lintto include templates/swagger/markdown/actions/json/yaml lint targets. - Centralize
permissions: contents: readat workflow level and de-duplicate per-job permissions. - Replace the reusable docker dryrun workflow with a composite action and disable slow non-amd64 dryruns by default; consolidate several compliance lint jobs into a single “on-demand” job.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| Makefile | Adds missing lint targets to the lint (all) target. |
| .github/workflows/pull-e2e-tests.yml | Moves contents: read permissions to workflow level. |
| .github/workflows/pull-docker-dryrun.yml | Switches to composite action for docker dryrun; disables arm64/riscv64 jobs by default. |
| .github/workflows/pull-db-tests.yml | Moves contents: read permissions to workflow level. |
| .github/workflows/pull-compliance.yml | Consolidates multiple lint jobs into a single “lint-on-demand” job; adjusts build checks. |
| .github/workflows/part-docker-dryrun.yml | Removes now-unused reusable workflow. |
| .github/workflows/files-changed.yml | Moves contents: read permissions to workflow level. |
| .github/workflows/cron-renovate.yml | Moves contents: read permissions to workflow level. |
| .github/workflows/cache-seeder.yml | Moves contents: read permissions to workflow level. |
| .github/actions/docker-dryrun/action.yml | Introduces a composite action encapsulating docker dryrun steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
f3c9eac to
504858e
Compare
|
For riscv64, we could probably enable https://riseproject.dev/2026/03/24/announcing-the-rise-risc-v-runners-free-native-risc-v-ci-on-github/ |
It was useful to catch riscv64 failures on initial alpine 3.23 versions which had busybox bugs (https://gitlab.alpinelinux.org/alpine/aports/-/issues/17775). Native runners would be the ideal solution. If you disable here we will run into situations again where those builds only fail on main branch. |
ad6b342 to
fd77200
Compare
|
Only use slow dryrun only for dockerfile: fd77200 |
|
Seems ok, that will catch alpine bugs and other bugs should be exceedingly rare, I think they could only come from vite/rolldown. |
vite/rolldown run on host cpu, and are run by many other jobs, won't have problem. |
|
True for the docker builds, yeah. Not true for someone completely building from source on those archs, but the old pipeline didn't validate that either, so fine. |
* origin/main: Refactor CI workflows (go-gitea#37487) Allow multiple projects per issue and pull requests (go-gitea#36784) [skip ci] Updated translations via Crowdin Refactor compare diff/pull page (1) (go-gitea#37481) Fix review submission from single-commit PR view (go-gitea#37475) Refactor integration tests infrastructure (go-gitea#37462) Fix allow maintainer edit permission check (go-gitea#37479) Serve OpenAPI 3.0 spec at /openapi.v1.json (go-gitea#37038) Batch-load related data in actions run, job, and task API endpoints (go-gitea#37032) Add DEFAULT_TITLE_SOURCE setting for pull request title default behavior (go-gitea#37465) Fix compare dropdown for branches without common history (go-gitea#37470) FIX: URL sanitization to handle schemeless credentials (go-gitea#37440) Refactor pull request view (4) (go-gitea#37451) # Conflicts: # modules/indexer/issues/elasticsearch/elasticsearch.go


Uh oh!
There was an error while loading. Please reload this page.